savasvikifandomcom_tr-20200215-history
Modül:InfoboxImage
Girdiler: -- image - Dosya adı (Dosya:/Resim: öneki olan veya olmayan) veya tam biçimli dosya bağlantısı -- page - çoklu sayfalarda gösterilecek sayfa (DjVu) -- size - görüntülenecek boyut -- maxsize - görüntü için maksimum boyut -- sizedefault - resim görüntüleme boyutu boşsa varsayılan boyut -- alt - görüntü için alt metin -- title - görüntü için başlık metni -- border - kenarlık için yes ayarlıysa -- center - yes ayarlanırsa, görüntü merkeze ortalanır. -- upright - dik görüntü parametresi -- suppressplaceholder - eğer yes değeri verilirse çerçeve görüntülenir -- link - resme tıklanınca gidilecek bağlantı -- Çıktılar: -- Biçimlendirilmiş görüntü. -- Daha fazla detay ve bilgi "Modül:InfoboxImage/belge" sayfasında bulunabilir local i = {}; local placeholder_image = { "Blue - Replace this image female.svg", "Blue - Replace this image male.svg", "Female no free image yet.png", "Flag of None (square).svg", "Flag of None.svg", "Flag of.svg", "Green - Replace this image female.svg", "Green - Replace this image male.svg", "Image is needed female.svg", "Image is needed male.svg", "Location map of None.svg", "Male no free image yet.png", "Missing flag.png", "No flag.svg", "No free portrait.svg", "No portrait (female).svg", "No portrait (male).svg", "Red - Replace this image female.svg", "Red - Replace this image male.svg", "Replace this image female (blue).svg", "Replace this image female.svg", "Replace this image male (blue).svg", "Replace this image male.svg", "Silver - Replace this image female.svg", "Silver - Replace this image male.svg", "Replace this image.svg", "Cricket no pic.png", "CarersLogo.gif", "Diagram Needed.svg", "Example.jpg", "Image placeholder.png", "No male portrait.svg", "Nocover-upload.png", "NoDVDcover copy.png", "Noribbon.svg", "No portrait-BFD-test.svg", "Placeholder barnstar ribbon.png", "Project Trains no image.png", "Image-request.png", "Sin bandera.svg", "Sin escudo.svg", "Replace this image - temple.png", "Replace this image butterfly.png", "Replace this image.svg", "Replace this image1.svg", "Resolution angle.png", "Image-No portrait-text-BFD-test.svg", "Insert image here.svg", "No image available.png", "NO IMAGE YET square.png", "NO IMAGE YET.png", "No Photo Available.svg", "No Screenshot.svg", "No-image-available.jpg", "Null.png", "PictureNeeded.gif", "Place holder.jpg", "Unbenannt.JPG", "UploadACopyrightFreeImage.svg", "UploadAnImage.gif", "UploadAnImage.svg", "UploadAnImageShort.svg", "CarersLogo.gif", "Diagram Needed.svg", "No male portrait.svg", "NoDVDcover copy.png", "Placeholder barnstar ribbon.png", "Project Trains no image.png", "Image-request.png", } function i.IsPlaceholder(image) -- değişik alanlarda alt çizgi image = mw.ustring.gsub(image, "_", " "); assert(image ~= nil, 'mw.ustring.gsub(image, "_", " ") must not return nil') -- eğer görüntü şununla başlıyorsa [[ onu ve herşeyi kaldır | if mw.ustring.sub(image,1,2) "[then image = mw.ustring.sub(image,3); image = mw.ustring.gsub(image, "([^|*)|.*", "%1"); assert(image ~= nil, 'mw.ustring.gsub(image, "(^*)|.*", "%1") must not return nil') end -- Kesme alanlarında image = mw.ustring.gsub(image, '^[ ]*(.-)[ ]*$', '%1'); assert(image ~= nil, "mw.ustring.gsub(image, '^[ ]*(.-)[ ]*$', '%1') must not return nil") -- önek varsa kaldır (dosya:) local allNames = mw.site.namespaces6.aliases allNames+ 1 = mw.site.namespaces6.name allNames+ 1 = mw.site.namespaces6.canonicalName for i, name in ipairs(allNames) do if mw.ustring.lower(mw.ustring.sub(image, 1, mw.ustring.len(name) + 1)) mw.ustring.lower(name .. ":") then image = mw.ustring.sub(image, mw.ustring.len(name) + 2); break end end -- Kesme alanlarında image = mw.ustring.gsub(image, '^[ ]*(.-)[ ]*$', '%1'); -- ilk harfini büyüt image = mw.ustring.upper(mw.ustring.sub(image,1,1)) .. mw.ustring.sub(image,2); for i,j in pairs(placeholder_image) do if image j then return true end end return false end function i.InfoboxImage(frame) local image = frame.args"image"; if image "" or image nil then return ""; end if image " " then return image; end if frame.args"suppressplaceholder" ~= "no" then if i.IsPlaceholder(image) true then return ""; end end if mw.ustring.lower(mw.ustring.sub(image,1,5)) "http:" then return ""; end if mw.ustring.lower(mw.ustring.sub(image,1,6)) "then return ""; end if mw.ustring.lower(mw.ustring.sub(image,1,7)) "[[http:" then return ""; end if mw.ustring.lower(mw.ustring.sub(image,1,6)) "https:" then return ""; end if mw.ustring.lower(mw.ustring.sub(image,1,7)) "[https:" then return ""; end if mw.ustring.lower(mw.ustring.sub(image,1,8)) "[[https:" then return ""; end if mw.ustring.sub(image,1,2) "[[" then -- küçük resimleri araştır ve bulduğunda aşağıdaki kategori ile onları işaretle if mw.title.getCurrentTitle().namespace 0 and (mw.ustring.find(image, "|%s*thumb%s*[|%]") or mw.ustring.find(image, "|%s*thumbnail%s*[|%]]")) then return image .. "Kategori:Bilgi kutusunda küçük resim kullanan sayfalar"; elseif mw.title.getCurrentTitle().namespace 0 then return image .. "Kategori:Pages using deprecated image syntax"; else return image; end elseif mw.ustring.sub(image,1,2) "{{" and mw.ustring.sub(image,1,3) ~= "{{{" then return image; elseif mw.ustring.sub(image,1,1) "<" then return image; elseif mw.ustring.sub(image,1,5) mw.ustring.char(127).."UNIQ" then -- Başlangıcında belirteç işareti bulundu, bu nedenle hiçbir işlem yapma return image; elseif mw.ustring.sub(image,4,9) "`UNIQ-" then -- Başlangıcında belirteç işareti bulundu, bu nedenle hiçbir işlem yapma return image; else local result = ""; local page = frame.args"page"; local size = frame.args"size"; local maxsize = frame.args"maxsize"; local sizedefault = frame.args"sizedefault"; local alt = frame.args"alt"; local link = frame.args"link"; local title = frame.args"title"; local border = frame.args"border"; local upright = frame.args"upright" or ""; local thumbtime = frame.args"thumbtime" or ""; local center= frame.args"center"; -- önek varsa kaldır (dosya:) local allNames = mw.site.namespaces6.aliases allNames+ 1 = mw.site.namespaces6.name allNames+ 1 = mw.site.namespaces6.canonicalName for i, name in ipairs(allNames) do if mw.ustring.lower(mw.ustring.sub(image, 1, mw.ustring.len(name) + 1)) mw.ustring.lower(name .. ":") then image = mw.ustring.sub(image, mw.ustring.len(name) + 2); break end end if maxsize ~= "" and maxsize ~= nil then -- maxsize için bir değer atanmazsa sizedefault belirle if sizedefault "" or sizedefault nil then sizedefault = maxsize end -- eğer daha büyük boyutluysa maxsize kontrolü yap if size ~= "" and size ~= nil then local sizenumber = tonumber(mw.ustring.match(size,"%d*")) or 0; local maxsizenumber = tonumber(mw.ustring.match(maxsize,"%d*")) or 0; if sizenumber>maxsizenumber and maxsizenumber>0 then size = maxsize; end end end -- yalnızca bir sayıysa boyutuna px ekle if (tonumber(size) or 0) > 0 then size = size .. "px"; end result = "page=" .. page; end if size ~= "" and size ~= nil then result = result .. "|" .. size; elseif sizedefault ~= "" and sizedefault ~= nil then result = result .. "|" .. sizedefault; else result = result .. "|frameless"; end if center "yes" then result = result .. "|center" end if alt ~= "" and alt ~= nil then result = result .. "|alt=" .. alt; end if link ~= "" and link ~= nil then result = result .. "|link=" .. link; end if border "yes" then result = result .. "|border"; end if upright "yes" then result = result .. "|upright"; elseif upright ~= "" then result = result .. "|upright=" .. upright; end if thumbtime ~= "" then result = result .. "|thumbtime=" .. thumbtime; end if title ~= "" and title ~= nil then result = result .. "|" .. title; elseif alt ~= "" and alt ~= nil then result = result .. "|" .. alt; end result = result .. ""; return result; end end return i;